//
//  MPBTools+SystemPrivacy.h
//  MiaoPai
//
//  Created by jiaxuzhou on 2017/6/10.
//  Copyright © 2017年 Jeakin. All rights reserved.
//
//  系统功能权限工具类


#import "MPBTools.h"
#import "MPBAuthorizationBaseTools.h"


typedef void (^AuthorizationResaultData)(id resaultData);


@interface MPBTools (SystemPrivacy)


/**
 获取对应功能的权限
 
 MPBTools 
 

 @param type 需要获取哪个功能的权限状态
 @param paramNeed 需要的一些初始化参数（例如 健康类 需要传入健康的种类 HKQuantityTypeIdentifier    推送 需要设置 userNotificationSettings 或 remoteNotificationType）
 @return 返回授权状态
 */
- (MPE_AuthorizationStatus)getAuthorizationStatusWithType:(MPE_AuthorizationType)type
                                                    param:(id)paramNeed;

/**
 自动授权对应的功能权限

 @param type 需要获取哪个功能的权限状态
 @param paramNeed 需要的一些初始化参数（例如 健康类 需要传入健康的种类 HKQuantityTypeIdentifier）
 @param completion 授权结果回掉
 @param backData 授权后返回的数据。（例如 推送  授权后返回 token）
 */
- (void)authorizeWithType:(MPE_AuthorizationType)type
                    param:(id)paramNeed
                  resault:(AuthorizationHandler)completion
                 backData:(AuthorizationResaultData)backData;


@end
